#include "stdafx.h"
#ifdef _DEBUG
	#undef THIS_FILE
	static char THIS_FILE[] = __FILE__;
	#define new DEBUG_NEW
#endif
///////////////////////////////////////////////////////////////////////////////////////////////////
IDataFormat::IDataFormat(void):_numRow(0),_numCol(0),_dataBuffer(NULL)
{
}

IDataFormat::~IDataFormat(void)
{
	if(_dataBuffer)
	{
		delete[] _dataBuffer;
		_dataBuffer = NULL;
	}
}

BOOL IDataFormat::InitData(long nRow,long nCol)
{
	if(_dataBuffer=new TCHAR[(nRow+1)*nCol*64])
	{
		memset(_dataBuffer,0,sizeof(TCHAR)*(nRow+1)*nCol*64L);
		_numRow = nRow;
		_numCol = nCol;
		return(TRUE);
	}
	return(FALSE);
}
void IDataFormat::SetTitle(long lIndex,LPCTSTR lpFormat,...)
{
	va_list arg_ptr;
	va_start(arg_ptr,lpFormat);
	vswprintf(_dataBuffer+lIndex*64,lpFormat,arg_ptr);
	va_end(arg_ptr);
}

void IDataFormat::SetData(long rowIndex,long colIndex,LPCTSTR lpFormat,...)
{
	va_list arg_ptr;
	va_start(arg_ptr,lpFormat);
	vswprintf(_dataBuffer+((rowIndex+1)*_numCol+colIndex)*64,lpFormat,arg_ptr);
	va_end(arg_ptr);
}

LPCTSTR IDataFormat::GetTitle(long lIndex)
{
	return(_dataBuffer+lIndex*64);
}

LPCTSTR IDataFormat::GetData(long rowIndex,long colIndex)
{
	return(_dataBuffer+((rowIndex+1)*_numCol+colIndex)*64);
}
